const app = getApp()

Page({
  data: {
    user: app.globalData.userWhologin.user,
    List: []
  },
  
  markAsArrived:function(e){
    console.log(e.currentTarget.dataset.id)
    wx.request({
      url: 'http://127.0.0.1:8080/api/markAsArrived',
      method:'POST',
      data:{id:e.currentTarget.dataset.id},
      success:(res)=>{
        if(res.data.status==200){
          this.getList()
        }else{
          wx.showToast({
            title: res.data.msg,
          })
        }
        
      }
    })
  },
  // 取消预约
  cancleOperation: function(e) {
    const id = e.currentTarget.dataset.id;
    wx.request({
      url: 'http://127.0.0.1:8080/api/u_cancel',
      method: 'POST',
      data: { id: id },
      success: (res) => {
        if (res.data.status === 200) {
          // 从 List 中移除对应的项
          this.removeAppointment(id);
        } else {
          wx.showToast({
            title: '取消失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('取消预约请求失败', err);
        wx.showToast({
          title: '请求失败',
          icon: 'none'
        });
      }
    });
  },

  // 从 List 中移除对应的项
  removeAppointment: function(id) {
    const newList = this.data.List.filter(item => item.id !== id);
    this.setData({
      List: newList
    });
    wx.showToast({
      title: '取消成功',
      icon: 'success'
    });
  },
  getList:function(e){
    // 页面创建时执行
    wx.request({
      url: 'http://127.0.0.1:8080/api/u_appointmentList',
      method: 'POST',
      data: { user: app.globalData.userWhologin.user },
      success: (res) => {
        console.log(res);
        if (res.data.status === 200) {
          this.setData({
            'List': res.data.data
          });
          console.log(this.data.List);
        }
      },
      fail: (err) => {
        console.error('获取预约列表请求失败', err);
        wx.showToast({
          title: '请求失败',
          icon: 'none'
        });
      }
    });
  },
  onLoad: function(options) {
    this.getList()
  },

  onShow: function() {
    // 页面出现在前台时执行
  },

  onReady: function() {
    // 页面首次渲染完毕时执行
  },

  onHide: function() {
    // 页面从前台变为后台时执行
  },

  onUnload: function() {
    // 页面销毁时执行
  },

  onPullDownRefresh: function() {
    // 触发下拉刷新时执行
    this.getList()
  },

  onReachBottom: function() {
    // 页面触底时执行
  },

  onShareAppMessage: function() {
    // 页面被用户分享时执行
  },

  onPageScroll: function() {
    // 页面滚动时执行
  },

  onResize: function() {
    // 页面尺寸变化时执行
  },

  onTabItemTap(item) {
    // tab 点击时执行
    console.log(item.index);
    console.log(item.pagePath);
    console.log(item.text);
  },

  // 事件响应函数
  viewTap: function() {
    this.setData({
      text: 'Set some data for updating view.'
    }, function() {
      // this is setData callback
    });
  },

  // 自由数据
  customData: {
    hi: 'MINA'
  }
});